﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;

namespace amis6_api.Common
{
    public class BaseResult<T>
    {
        public int Code { get; set; }

        public string Msg { get; set; }

        public T Data { get; set; }

        public BaseResult(T data)
        {

            this.Code = 1;
            this.Data = data;
            this.Msg = "OK";
        }

        public BaseResult(int code, string msg, T data)
        {
            Code = code;
            Msg = msg;
            Data = data;
        }

        public BaseResult(string msg)
        {
            Code = 0;
            Msg = msg;
        }

        public static BaseResult<T> OK(T data)
        {
            return new BaseResult<T>(data);
        }

        public static BaseResult<T> OK()
        {
            return new BaseResult<T>(default(T));
        }

        public static BaseResult<T> Error(string msg)
        {
            return new BaseResult<T>(msg);
        }
    }
}
